﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Clases_BL;
using Capa_Entidad;
using Capa_Negocio_Interface;
using Capa_Negocio_Facade;

public partial class Ventas_wfAdmisionPacienteListado : System.Web.UI.Page
{
    IFacadeRegistrarAdmision objFacadeAdminicion = new FacadeRegistrarAdmision();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ////ASPxButton3.Attributes.Add("language", "javascript");
            //ASPxButton3.Attributes.Add("onclick", "ShowMensaje();");
            ////ASPxButton3.Attributes.Add("onclick", "return confirm('Esta Seguro de Elimanar el Registro seleccionado?');");
        }

        dgPaciente.DataSource = objFacadeAdminicion.listarPacientes();
        dgPaciente.DataBind();

    }
    protected void ASPxButton1_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "C";//C de Crear
        Response.Redirect("wfAdmisionPaciente.aspx", true);
    }
    protected void ASPxButton2_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "M";//M de Modificar
        Session["IDPaciente"] = dgPaciente.GetRowValues(dgPaciente.FocusedRowIndex, "PAC_ID_PACIENTE");
        Response.Redirect("wfAdmisionPaciente.aspx", true);
    }
    //protected void ASPxButton3_Click(object sender, EventArgs e)
    //{
    //    Session["Operacion"] = "E";//E de Eliminar
    //    Session["IDCita"] = 0;

    //    if (dgPaciente.FocusedRowIndex == -1)
    //    {
    //        Util.showmsg("No hay registro seleccionado!!!", this.Page);
    //        return;
    //    }
    //    Session["IDPaciente"] = dgPaciente.GetRowValues(dgPaciente.FocusedRowIndex, "PAC_ID_PACIENTE");



    //    clsPacienteBLcs BL_Paciente = new clsPacienteBLcs();
    //    ADM_PACIENTE Ent_Paciente = new ADM_PACIENTE();
    //    Ent_Paciente.PAC_ID_PACIENTE = (Int32)Session["IDPaciente"];

    //    if (BL_Paciente.Eliminar(Ent_Paciente))
    //    {
    //        ObjectDataSource1.DataBind();

    //        Util.showmsg("Paciente Eliminado!!!", this.Page);
    //        Response.Redirect("wfAdmisionPacienteListado.aspx", true);
    //    }

    //    else
    //    {
    //        Util.showmsg("Error: No Se pudo Eliminar Cita", this.Page);
    //    }

    //}
    protected void btnAnulacion_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "E";//E de Eliminar
        Session["IDCita"] = 0;

        if (dgPaciente.FocusedRowIndex == -1)
        {
            //Util.showmsg("No hay registro seleccionado!!!", this.Page);
            lblMensaje.Text = "No hay registro seleccionado!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }
        Session["IDPaciente"] = dgPaciente.GetRowValues(dgPaciente.FocusedRowIndex, "PAC_ID_PACIENTE");

        clsPacienteBLcs BL_Paciente = new clsPacienteBLcs();
        ADM_PACIENTE Ent_Paciente = new ADM_PACIENTE();
        Ent_Paciente.PAC_ID_PACIENTE = (Int32)Session["IDPaciente"];
        //valida si el paciente tiene una cita.
        //clsAdmCitaBL cita = new clsAdmCitaBL();
        var consulta = from P in objFacadeAdminicion.listarCita()
                       where P.PAC_ID_PACIENTE == Convert.ToInt32(Session["IDPaciente"])
                       select P;
        if (consulta.Count() > 0)
        {
            //Util.showmsg("No se puede Eliminar Cita. El paciente tiene al menos una citas registra", this.Page);
            lblMensaje.Text = "No se puede Eliminar. El paciente tiene al menos una cita registra.";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }
        if (objFacadeAdminicion.EliminarPaciente(Ent_Paciente))
        {
            dgPaciente.DataSource = null;
            dgPaciente.DataBind();
            ObjectDataSource1.DataBind();

            //Util.showmsg("Paciente Eliminado!!!", this.Page);
            lblMensaje.Text = "Paciente Eliminado!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            
            //Response.Redirect("wfAdmisionPacienteListado.aspx", true);
        }

        else
        {
            //Util.showmsg("Error: No Se pudo Eliminar el Paciente", this.Page);
            lblMensaje.Text = "Error: No Se pudo Eliminar el Paciente!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
        }


    }

}